/**
 * Trabajo de Ingeniería de Software 2
 * Año 2008
 * Sistema de Reserva de Recursos.
 * Desarrolladores: - Marcelo Ferreira.
 *                  - Christian Gómez.
 *                  - Marcelo Rodas.
 */

package controller;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import modelo.Estadorecurso;

/**
 * Clase utilizada para Transportar y Transformar la Entidad Estadorecurso
 * entre JSPs.
 * @author jmferreira
 */
public class EstadorecursoConverter implements Converter {
    /**
     * Función para obtener un Objeto Estadorecurso del string 
     * transmitido y que representa el Objeto resultante.
     * @param facesContext El facesContext de la aplicacion
     * @param component El Componente de la interfaz de usuario
     * @param string El string representando el identificador
     * @return Object (Estadorecurso)
     */

    public Object getAsObject(FacesContext facesContext, UIComponent component, String string) {
        if (string == null || string.length() == 0) {
            return null;
        }
        Integer id = new Integer(string);
        EstadorecursoController controller = (EstadorecursoController) facesContext.getApplication().getELResolver().getValue(facesContext.getELContext(), null, "estadorecurso");

        return controller.findEstadorecurso(id);
    }
    /**
     * Función para obtener como Cadena un Objeto Estadorecurso para pasar 
     * como parametro entre paginas web.
     * @param facesContext El facesContext de la aplicacion
     * @param component El Componente de la interfaz de usuario
     * @param object (Estadorecurso)
     * @return String El string representando el identificador
     */

    public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
        if (object == null) {
            return null;
        }
        if (object instanceof Estadorecurso) {
            Estadorecurso o = (Estadorecurso) object;
            return o.getIdEstadoRecurso() == null ? "" : o.getIdEstadoRecurso().toString();
        } else {
            throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: modelo.Estadorecurso");
        }
    }

}
